package com.iwinding.ladygg.utils;

/**
 * Created by 618711 on 2015/11/16.
 */
public class BaiduMapHelper {
//    private static Context mContext;
//    private static BaiduMapHelper sInstance;
//    private final int SPAN = 1000;//定位时间间隔,单位毫秒
//
//    private LocationClient mLocationClient;
//    private LocationInfo mLocationInfo;
////    private boolean mIsJustGetLocation;
//    private MyLocationListener mMyLocationListener;
//
//    public static synchronized BaiduMapHelper getInstance() {
//        if (null == sInstance) {
//            sInstance = new BaiduMapHelper();
//        }
//        return sInstance;
//    }
//
//    public void init(Context context) {//第一次初始化调用
//        mContext = context;
//        mLocationClient = new LocationClient(mContext);
//        mMyLocationListener = new MyLocationListener();
//        initLocationParam();
//    }
//
//    public void startLocation() {
//        if (mLocationClient == null)
//            return;
//        mLocationClient.registerLocationListener(mMyLocationListener);
//        mLocationClient.start();//定位SDK start之后会默认发起一次定位请求，开发者无须判断isstart并主动调用request
//    }
//
//
//    public void stopLocation() {
//        if (mLocationClient == null)
//            return;
//        mLocationClient.unRegisterLocationListener(mMyLocationListener);
//        mLocationClient.stop();
//    }
//
//    public LocationInfo getLocationInfo() {
//        if (mLocationInfo == null)
//            mLocationInfo = new LocationInfo();
//
//        return mLocationInfo;
//    }
//
//    private class MyLocationListener implements BDLocationListener {
//
//        @Override
//        public void onReceiveLocation(BDLocation location) {
//            if (location == null){
//                return;
//            }
//
//            if (mLocationInfo == null)
//                mLocationInfo = new LocationInfo();
//
//            int locType = location.getLocType();
//            if (locType == BDLocation.TypeGpsLocation// GPS定位成功
//                    || locType == BDLocation.TypeNetWorkLocation// 网络定位成功
//                    || locType == BDLocation.TypeOffLineLocation// 离线定位成功
//                    ) {
//                mLocationInfo.status = LocationInfo.LOCATION_SUCCESS;
//                mLocationInfo.longitude = String.valueOf(location.getLongitude());
//                mLocationInfo.latitude = String.valueOf(location.getLatitude());
//                mLocationInfo.cityCode = location.getCityCode();
//                mLocationInfo.direction = location.getDirection();
//                mLocationInfo.radius = location.getRadius();
//                mLocationInfo.speed = location.getSpeed();
//            } else if (locType == BDLocation.TypeServerError//服务端网络定位失败,可以反馈IMEI号和大体定位时间到loc-bugs@baidu.com，会有人追查原因
//                    || locType == BDLocation.TypeNetWorkException//网络不同导致定位失败，请检查网络是否通畅
//                    || locType == BDLocation.TypeCriteriaException//无法获取有效定位依据导致定位失败，一般是由于手机的原因，处于飞行模式下一般会造成这种结果，可以试着重启手机
//                    ) {
//                mLocationInfo.status = LocationInfo.LOCATION_FAIL;
////                ToastUtil.showToast(mContext, R.string.location_fail);
//            }
//
////            postLocationEvent(mLocationInfo);
//            stopLocation();
//        }
//    }
//
//
//    private void initLocationParam() {
//        LocationClientOption option = new LocationClientOption();
//        option.setLocationMode(LocationClientOption.LocationMode.Hight_Accuracy);//可选，默认高精度，设置定位模式，高精度，低功耗，仅设备
//        option.setCoorType("bd09ll");//可选，默认gcj02，设置返回的定位结果坐标系，bd09ll，百度坐标
//        option.setScanSpan(SPAN);//可选，默认0，即仅定位一次，设置发起定位请求的间隔需要大于等于span才是有效的
//        option.setIsNeedAddress(false);//可选，设置是否需要地址信息，默认不需要
//
//        option.setOpenGps(true);//可选，默认false,设置是否使用gps
//        option.setLocationNotify(true);//可选，默认false，设置是否当gps有效时按照1S1次频率输出GPS结果
//        option.setIgnoreKillProcess(true);//可选，默认true，定位SDK内部是一个SERVICE，并放到了独立进程，设置是否在stop的时候杀死这个进程，默认不杀死
//        option.setEnableSimulateGps(false);//可选，默认false，设置是否需要过滤gps仿真结果，默认需要
//        option.setIsNeedLocationDescribe(true);//可选，默认false，设置是否需要位置语义化结果，可以在BDLocation.getLocationDescribe里得到，结果类似于“在北京天安门附近”
//        option.setIsNeedLocationPoiList(true);//可选，默认false，设置是否需要POI结果，可以在BDLocation.getPoiList里得到
//        mLocationClient.setLocOption(option);
//
//        //初始化定位状态
//        mLocationInfo = new LocationInfo();
//        mLocationInfo.status = LocationInfo.LOCATING;
//    }


}
